{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from forecaster import Forecaster as FC\n",
    "from evaluation import Evaluation as EVAL\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from datetime import datetime, timedelta\n",
    "from metric_funcs import mape\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Model testing."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 1) Init Forecaster class.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 202,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "forecaster = FC('../data/test_cleaned.csv', max_features=6, n_estimators=500)\n",
    "\n",
    "# Train dates\n",
    "train_start = datetime(2013,11,01,0,0)\n",
    "train_end = datetime(2013,11,20,23,45)\n",
    "\n",
    "# Test dates\n",
    "test_start = datetime(2013,11,21,0,0)\n",
    "test_end = test_start + pd.Timedelta('1D')\n",
    "\n",
    "# Vectorize dataframes\n",
    "forecaster.vectorize(train_start, train_end, test_start, test_end)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2) Init Evaluation class with forecasting as input. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 203,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,\n",
       "           max_features=6, max_leaf_nodes=None, min_impurity_split=1e-07,\n",
       "           min_samples_leaf=1, min_samples_split=2,\n",
       "           min_weight_fraction_leaf=0.0, n_estimators=500, n_jobs=1,\n",
       "           oob_score=False, random_state=None, verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 203,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "forecaster.model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 204,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "Eval = EVAL(forecaster)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Compute score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 205,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The MAPE for this model is:  1.88803979181\n"
     ]
    }
   ],
   "source": [
    "Eval.get_scores(mape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 207,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1fbf49f90>"
      ]
     },
     "execution_count": 207,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n3en7ZhIVK8cSm2I8EjIS6HFXD0I8QoiPN1pXdu0y7nwbO9ZY8O7aYTtHj0Kbvj9z7t6XqelTlejj\nOdQ/NoWFE5oRdIO1SE0m43Ete/sbr7G2bBn06QOdO8OwYTB5srEIX69exto1np63+U0UQghh9SQE\nFZEthaCSojWsXAlhYRAaeuP9UlOhU6+jrD/+Jx+/2I1+rzlg9+/WnC1UYqIxEHz+/Mtrsd2sLiGE\nELZNQlARSQgyL5PJWI/r2rE+5pCUJC0/QgghJAQVmYQgIYQQwrZYIgSZoaNDCCGEEKL0kxAkhBBC\niDLJYiFIKXVcKfW3UmqnUmpr/jZPpdQKpdRBpdRypZS7peorraKioixdgsXItZc9ZfW6Qa69rCrL\n124JlmwJMgHhWuvGWut78rcNAVZprWsBa4ChFquulCrLf0Hk2suesnrdINdeVpXla7cES4YgVcj7\nPwHMzP96JvBkiVYkhBBCiDLDkiFIAyuVUtuUUi/lb/PXWscBaK3PAn4Wq04IIYQQNs1it8grpQK1\n1meUUr7ACmAA8IvW2uuKfRK01tfNVqOUkvvjhRBCCBtT0rfIO9x6F/PQWp/J//O8Uupn4B4gTinl\nr7WOU0oFAOducGyJfpOEEEIIYXss0h2mlHJRSlXM/7oC0AHYAywGeuTv9iLwiyXqE0IIIYTts0h3\nmFKqKvATxrggB+A7rfUYpZQXMB8IAmKArlrr5BIvUAghhBA2zyqXzRBCCCGE+LdKpDtMKfWwUuqA\nUuqQUmpw/rYiTYxY2LEleXwxXvc7+dtGXjFJ5O/5Y59s6rpv8f79lVL7lVJ7lFJjzFF7abx2pVQj\npdSf+T/7Xy51Bxd37Rb+vH+jlIpTSu2+Ytu4/J/3LqXUj0opN3PUXQp+5oVde6RS6qRSakf+42Fz\n1F5Kr72RUmqTyp8MVynVzBy1W/jzXkUptUYptS//37MB+dufVkrtVUrlKaWa3OR4q732G71/SdVe\nrNeutTbrAyNoHQFCAEdgJ1AHGAu8k7/PYGBMEY7dBdTOf83sxxfzde8CagMVr9inP/ClLV33La49\nHONOQIf8/XzKwLVf+rxvBVrm79MDGGmD194SuAvYfcW29oBd/tdjgNG2dt03ufZI4L938nfFBq59\nOdAh/+uOwFpbu3YgALgr/+uKwEGMf+dqATUxJvxtYos/90Le32p/rxf7X4hCCm4OLLvi+WCMmaH3\n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\nuRNkZmZmlfQPHnx7vBil0wsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f3fc88d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot comparison\n",
    "fig = plt.figure(figsize=(9,3))\n",
    "ax = fig.add_subplot(1,1,1)\n",
    "ax.plot(forecaster.test_index,forecaster.y_test, label = 'actual')\n",
    "ax.plot(forecaster.test_index,Eval.y_pred, label = 'prediction')\n",
    "\n",
    "ax.set_ylabel('kwh')\n",
    "ax.set_xlabel('time of day')\n",
    "\n",
    "plt.legend()"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [Root]",
   "language": "python",
   "name": "Python [Root]"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
